﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Domain.MainModule.Entities;

namespace Application.MainModule.CustomersMTSManagement
{
    public interface ICustomerMTSManagementService
    {
        /// <summary>
        /// Add new customerMTS
        /// </summary>
        /// <param name="customerMTS">CustomerMTS to be added</param>
        void AddCustomerMTS(CustomerMTS customerMTS);

        /// <summary>
        /// Change existing customerMTS
        /// </summary>
        /// <param name="customerMTS">Existing customerMTS to modify</param>
        void ChangeCustomerMTS(CustomerMTS customerMTS);

        /// <summary>
        /// Remove existing customerMTS
        /// </summary>
        /// <param name="customerMTS">CustomerMTS to remove</param>
        void RemoveCustomerMTS(CustomerMTS customerMTS);

        /// <summary>
        /// Find a customer mts using yours names
        /// </summary>
        /// <param name="firstName"></param>
        /// <param name="lastName"></param>
        /// <param name="firstSurname"></param>
        /// <param name="lastSurname"></param>
        /// <returns></returns>
        CustomerMTS FindCustomerMTSByName(string firstName, string lastName, string firstSurname, string lastSurname);

        CustomerMTS FindCustomerMTSById(Guid userId);

        List<CustomerMTS> FindPagedCustomerMTS(int pageIndex, int pageCount);

    }
}
